package com.gitee.jjnnzb.designpatterninspring.business.login.service;


import com.gitee.jjnnzb.designpatterninspring.business.login.entity.bo.MobileLoginParam;
import com.gitee.jjnnzb.designpatterninspring.business.login.entity.bo.ThirdPartyLoginParam;
import com.gitee.jjnnzb.designpatterninspring.business.login.entity.bo.WebLoginParam;
import com.gitee.jjnnzb.designpatterninspring.business.login.entity.vo.TokenRt;

/**
 * @author Jjn
 * @since 2023/8/8 13:57
 */
public interface LoginDemoService {
    /**
     * Web login.
     *
     * @param webLoginParam web login params
     * @return token
     */
    TokenRt webLogin(WebLoginParam webLoginParam);
    
    /**
     * Third party login.
     *
     * @param thirdPartyLoginParam third party login params
     * @return token
     */
    TokenRt thirdPartyLogin(ThirdPartyLoginParam thirdPartyLoginParam);
    
    /**
     * Mobile login.
     *
     * @param mobileLoginParam mobile login param
     * @return token
     */
    TokenRt mobileLogin(MobileLoginParam mobileLoginParam);
}
